import { api } from '../utils/apiWrapper.js'
// 获取项目变更列表
export function getProjectChangeList(params) {
  return api.get('/api/data/project_change', params)
}

// 根据项目ID获取变更列表
export async function getProjectChangeListByProjectId(projectId) {
  console.log('获取项目变更，项目ID:', projectId)
  const params = { page: 1, pageSize: 1000, wehre: {project_id:projectId }}
  const res = await getProjectChangeList(params)
  console.log('API返回的原始数据:', res)
  
  // 处理不同的数据结构
  let records = []
  if (res.records && Array.isArray(res.records)) {
    records = res.records
  } else if (res.data && Array.isArray(res.data)) {
    records = res.data
  } else if (Array.isArray(res)) {
    records = res.records
  } else {
    console.error('API返回数据格式不正确:', res)
    return []
  }
  
  // 过滤当前项目的数据并按变更日期排序
  const data = records.filter(item => item.project_id === projectId).sort((a, b) => {
    return new Date(b.change_date) - new Date(a.change_date)
  })
  
  console.log('处理后的变更数据:', data)
  return data
}

// 获取单个项目变更
export function getProjectChangeById(id) {
  return api.get(`/api/data/project_change/${id}`)
}

// 创建项目变更
export function createProjectChange(data) {
  return api.post('/api/data/project_change', data)
}

// 更新项目变更
export function updateProjectChange(id, data) {
  return api.put(`/api/data/project_change/${id}`, data)
}

// 删除项目变更
export function deleteProjectChange(id) {
  return api.delete(`/api/data/project_change/${id}`)
}